"""
@version:python3
@author:大橘为重
@file:12-QLineEdit-功能测试-文本对齐.py
@time:2022/3/1 14:44
"""
# 0、导入需要的包和模块
from PyQt5.Qt import *
import sys


# 1、创建一个应用程序对象
app = QApplication(sys.argv)

# 2、控件操作
# 创建控件、设置控件、事件和信号的处理
# 2.1 创建控件
window = QWidget()
# 2.2 设置控件
window.setWindowTitle("QLineEdit-功能测试-文本对齐")
window.resize(500,500)
le = QLineEdit(window)
le.setStyleSheet("background-color:cyan;")
le.move(100,100)
le.resize(300,300)
# le.setTextMargins(100,0,0,0)
le.setTextMargins(0,0,50,50)
le.setAlignment(Qt.AlignRight | Qt.AlignBottom)
le.setDragEnabled(True) #打开拖拽功能

le2 = QLineEdit(window)
le2.move(250,450)

# 实际上文本框默认提供了常用的编辑功能,也可以通过代码进行编辑
btn = QPushButton(window)
btn.move(50,50)
btn.setText("按钮")
def test():
    le.backspace()
    le.setFocus()

def copypaste():
    le.cursorBackward(True,3) # 注意文本编辑时候光标移动的一些小细节问题,直接复制粘贴会出现一些问题
    le.copy()
    le.setCursorPosition(0)
    le.paste()
    le.setFocus() # 防止丢失焦点
btn.pressed.connect(copypaste)


# 2.3 展示控件
window.show()

# 3、应用程序的执行，进入到消息循环
sys.exit(app.exec_())
